package cn.sxw.ld.module.member.controller;


import cn.sxw.ld.common.dto.R;
import cn.sxw.ld.module.member.pojo.CostPageDto;
import cn.sxw.ld.module.member.pojo.CostRecord;
import cn.sxw.ld.module.member.pojo.DailyRecord;
import cn.sxw.ld.module.member.service.CostRecordService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author: SXW
 * @since: 2025年02月20日 13:06
 * @desc:
 */
@Slf4j
@RestController
@RequestMapping("/cost")
public class CostRecordController {

    @Autowired
    private CostRecordService costRecordService;

    /**
     * 获取消费记录分页
     *
     * @return
     */
    @PostMapping("/page")
    public R<Page> Page(@RequestBody CostPageDto costPageDto) {
        try {
            Page pageInfo = costRecordService.getPage(costPageDto);
            return pageInfo != null ? R.success(pageInfo) : R.error("系统繁忙，请稍后再试~~");
        } catch (Exception e) {
            log.error("消费记录分页错误:'\n'{}", e.getMessage());
            return R.error("系统繁忙，请稍后再试~~");
        }
    }

    /**
     * 添加会员消费记录
     *
     * @param costRecord
     * @return
     */
    @PostMapping("/addMemberRecord")
    public R<CostRecord> addMemberCostRecord(@RequestBody CostRecord costRecord) {
        try {
            CostRecord newRecord = costRecordService.addRecord(costRecord);
            return newRecord != null ? R.success(newRecord) : R.error("扣款失败，余额不足！");
        } catch (Exception e) {
            log.error("添加会员充值记录错误:'\n'{}", e.getMessage());
            return R.error("系统繁忙，请稍后再试~~");
        }
    }

}
